package com.hsqyz.common.utils.file;

import cn.hutool.core.util.URLUtil;

/**
 * 文件名工具类
 *
 * @author lcz
 */
public class FileNameUtils {

    /**
     * 从 URL 中获取文件名。
     *
     * @param url 资源的 URL
     * @return 文件名字符串，如果获取失败返回 null
     */
    public static String getFileNameFromUrl(String url) {
        if (url == null || url.isEmpty()) {
            throw new IllegalArgumentException("URL 不能为空");
        }

        try {
            // 解析 URL
            java.net.URL parsedUrl = URLUtil.url(url);

            // 获取路径部分
            String path = parsedUrl.getPath();

            // 提取文件名
            int lastSlashIndex = path.lastIndexOf('/');
            if (lastSlashIndex >= 0 && lastSlashIndex < path.length() - 1) {
                return path.substring(lastSlashIndex + 1);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return null;
    }

    public static void main(String[] args) {
        // 示例 URL
        String imageUrl = "https://example.com/path/to/image.jpg"; // 替换为你实际的图片 URL

        // 获取文件名
        String fileName = FileNameUtils.getFileNameFromUrl(imageUrl);

        if (fileName != null) {
            System.out.println("文件名: " + fileName);
        } else {
            System.out.println("无法获取文件名");
        }
    }

}